﻿// Copyright (c) Microsoft Corporation
// All rights reserved.
// 
// Licensed under the Apache License, Version 2.0 (the "License"); you may not
// use this file except in compliance with the License.  You may obtain a copy
// of the License at http://www.apache.org/licenses/LICENSE-2.0
// 
// THIS CODE IS PROVIDED *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
// KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
// WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
// MERCHANTABLITY OR NON-INFRINGEMENT.
// 
// See the Apache Version 2.0 License for specific language governing
// permissions and limitations under the License.
namespace Microsoft.WindowsAzure.Management.HDInsight.JobSubmission
{
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using Microsoft.Hadoop.Client;
    using Microsoft.WindowsAzure.Management.HDInsight;
    using Microsoft.WindowsAzure.Management.HDInsight.Framework.Core.Library;

    /// <summary>
    /// Constructs new instances of the a Hadoop client.
    /// </summary>
    internal class HDInsightHadoopClientFactory : IHDInsightHadoopClientFactory
    {
        public IJobSubmissionClient Create(IHDInsightSubscriptionCredentials credential)
        {
            return Create(credential, string.Empty);
        }

        public IJobSubmissionClient Create(IHDInsightSubscriptionCredentials credential, string customUserAgent)
        {
            return Help.SafeCreate(() => new HDInsightHadoopClient(credential, customUserAgent));
        }

        public IHadoopApplicationHistoryClient CreateHadoopApplicationHistoryClient(IHDInsightSubscriptionCredentials credential)
        {
            throw new NotImplementedException();
        }
    }
}
